#include "board.h"


#define REG_R0_ADDR     (0x60000000)
#define REG_R1_ADDR     (0x60000004)
#define REG_R2_ADDR     (0x60000008)

#define REG_SRAM_ADDR   (0x60000020)
#define REG_SRAM_DATA   (0x60000024)

int main(void)
{
    board_init();
    
    uint32_t counter = 0;
    while(1) {
        // for(char i = 'A'; i <= 'Z'; i++) {
        //     *((int*)REG_SRAM_ADDR) = i - 'A';
        //     *((int*)REG_SRAM_DATA) = i;
        //     int v1 = *((int*)REG_SRAM_DATA);
        //     printf("%c", v1);
        //     UTIL_IdleMs(50);
        // }

        // Continuous write.
        *((int*)REG_SRAM_ADDR) = 0;
        for(char i = 'a'; i <= 'z'; i++) {
            *((int*)REG_SRAM_DATA) = i;
        }

        // Continuous read.
        *((int*)REG_SRAM_ADDR) = 0;
        for(char i = 'a'; i <= 'z'; i++) {
            int v1 = *((int*)REG_SRAM_DATA);
            printf("%c", v1);
        }
        
        UTIL_IdleMs(10);
        

        // *((int*)REG_SRAM_ADDR) = 1;
        // *((int*)REG_SRAM_DATA) = 'B';
        // int v2 = *((int*)REG_SRAM_DATA);

        // *((int*)REG_SRAM_ADDR) = 2;
        // *((int*)REG_SRAM_DATA) = 'C';
        // int v3 = *((int*)REG_SRAM_DATA);

        // *((int*)REG_SRAM_ADDR) = 0;
        // int v4 = *((int*)REG_SRAM_DATA);

        //printf("%c", v4);
        //UTIL_IdleMs(1);
    }

    return 0;
}